package testes;

import logica.pessoa.PessoaFisica;
import logica.util.ExceptionCadrastado;

import org.junit.Assert;
import org.junit.Test;

public class TestaPessoaFisica {

	@Test public void TestaCPF(){

		
		try{
			new PessoaFisica("arthur tabira","(83) 99963535","arthur.tabira@gmail.com",null,null,null,null,null);
			
			Assert.fail();
		}
		
		catch (ExceptionCadrastado e) {
			Assert.assertEquals("CPF ja cadastrado", e.getLocalizedMessage());
		}
		
		catch (Exception e) {
			Assert.assertEquals("CPF invalido", e.getMessage());
		}
	
	
	
		
		try{
			new PessoaFisica("arthur tabira","(83) 99963535","arthur.tabira@gmail.com", null,"0123456789",null,null,null);
		
			Assert.fail();
		}
		
		catch (ExceptionCadrastado e) {
			Assert.assertEquals("CPF ja cadastrado", e.getMessage());
		}
		
		catch (Exception e) {
			Assert.assertEquals("CPF invalido", e.getMessage());
		}
		
		
		
		
		try{
			new PessoaFisica("arthur tabira","(83) 99963535","arthur.tabira@gmail.com",null,"0123456789as",null,null,null);
		
			Assert.fail();
		}
		
		catch (ExceptionCadrastado e) {
			Assert.assertEquals("CPF ja cadastrado", e.getLocalizedMessage());
		}
		
		catch (Exception e) {
			Assert.assertEquals("CPF invalido", e.getMessage());
		}

		
		
		
		
	
		try{
			new PessoaFisica("arthur tabira","(83) 99963535","arthur.tabira@gmail.com", null,"01234567890","0123456",null,"brasileira");
			new PessoaFisica("arthur tabira II","(83) 99963535","arthur.tabira2@gmail.com", null,"01234567890", null, null, null);
			
			Assert.fail();
		}
		
		catch (ExceptionCadrastado e) {
			Assert.assertEquals("CPF ja cadastrado", e.getLocalizedMessage());
		}
		
		catch (Exception e) {
			Assert.assertEquals("CPF invalido", e.getMessage());
		}
	}
	
	
	
	@Test public void TestaRG(){
		try{
			new PessoaFisica("arthur novo","(83) 99963535","arthur.tabira2@gmail.com", null,"01234567891",null,null,null);
		
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("RG invalido", e.getMessage());
		}
		
		
		
		
		try{
			new PessoaFisica("arthur novo","(83) 99963535","arthur.tabira2@gmail.com", null,"01234567891","0 1 2 3",null,null);
		
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("RG invalido", e.getMessage());
		}
		
		
		
		
		try{
			new PessoaFisica("arthur novo","(83) 99963535","arthur.tabira2@gmail.com", null,"01234567891","0c1b2a3",null,null);
		
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("RG invalido", e.getMessage());
		}
		
		
		
		
		try{
			new PessoaFisica("arthur novo","(83) 99963535","arthur.tabira2@gmail.com", null,"01234567891","0123456",null,"brasileiro");
			new PessoaFisica("arthur novissimo","(83) 99963535","arthur2.tabira2@gmail.com", null,"19876543210","0123456",null,null);
			
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("RG ja cadastrado", e.getMessage());
		}
	}
	
	
	@Test public void TestaNacionalidade(){
		try{
			new PessoaFisica("arthur novissimo","(83) 99963535","arthur2.tabira2@gmail.com", null,"19876543210","0123456",null,null);
			
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("nacionalidade invalida", e.getMessage());
		}
		
		
		
		
		try{
			new PessoaFisica("arthur novissimo","(83) 99963535","arthur2.tabira2@gmail.com", null,"19876543210","0123456",null,"    ");
			
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("nacionalidade invalida", e.getMessage());
		}
		
		
		
		
		
		try{
			new PessoaFisica("arthur novissimo","(83) 99963535","arthur2.tabira2@gmail.com", null,"19876543210","0123456",null,"    ");
		}
		
		catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}
}
